1. Field of the Invention
The present invention relates to motion control systems and, more particularly, to a servo control system operating in a sampled data mode. A servo control system is one which uses feedback to control the operation of the system. The control system usually controls the motion of a device such as a motor. It does this by monitoring a single motion characteristic of the device, usually the position, and uses this information to generate any other necessary motion characteristics. Once one knows the actual motion characteristics of the device, feedback techniques can be used to control the operation of the device to obtain any desired physically realizable performance.
Sampled data mode indicates how the single motion characteristic is monitored and how the control system operates. In a sampled data mode, characteristics are measured or monitored at discrete points in time over an interval rather than continuously over the entire interval.
Typically, this sampled data servo control system controls the operation of a motor with a rotatable shaft by applying a command signal to the motor to obtain the desired motion of the rotatable shaft. Shortly thereafter, the control system monitors the motion of the shaft to determine its position. The control system then uses this information to compare the actual motion with the desired motion. If there is any difference, an approprriate compensation is made in the command signal and then a new command signal is applied to the motor.
2. Description of the Prior Art
Designers of servo motion control systems have attempted to take advantage of advances in computer technology by designing servo control systems which respond more quickly to motion command signals or which more precisely control the movement of the device under control. For example, the working members of industrial robots must be capable of quick precise movement and, therefore, high response servo control systems are highly desirable to control these members.
A computer with a large memory capability and great computational power--referred to commonly as a main frame computer--or a large minicomputer is often used to implement a control system where great computational power is required. However, main frame computers and large minicomputers have not been used to implement high response industrial servo control systems because their expense is prohibitively great.
Microprocessors are much less expensive than main frame computers or large minicomputers. Therefore, servo control systems have been designed which are implemented by microprocessors. However, the use of microprocessors in servo control systems has created several other problems. In particular, the calculation speed of a microprocessor is not relatively high and, therefore, the response time of a control system using a microprocessor cannot be as high as is desirable. Further, a microprocessor performs calculations in integer fashion, which can cause errors when the results of the calculations are rounded. Therefore, the system may not control the motion of the controlled device with sufficient accuracy.
A typical prior art digital or analog brush-type DC servo control system is of the form depicted generally in FIG. 1. The control system in FIG. 1 receives motion commands and a set of signals representing the actual motion of the device under control and calculates any deviations in the motion of the device from the motion represented by the motion commands. Blocks A and B in FIG. 1 (also FIGS. 2, 3 and 10) can be implemented in either an analog or a digital manner and represent compensating gain lag-lead networks usually consisting of a combination of gain or time dependent following processes, which effect the manner in which the control system follows the motion commands. Depending on the control system, Blocks A and B can be implemented by hardware or software.
Many conventional brush-type DC servo systems use a microprocessor only to process motion commands. The servo loop is controlled by either conventional analog or high speed digital techniques. These systems do not fully use the capabilities of existing microprocessors. Accordingly, a digital servo control system has been designed which is implemented totally by microprocessors.
Typically, many prior art digital systems only perform the functions to the left of line C in FIG. 1 in a digital manner. The remainder of the system is implemented in analog form. The recent advancement of Direct Numerical Processing (DNP) enables the control system to perform everything to the left of line D in FIG. 1 with a microprocessor, leaving only the amplifier and the motion monitors to be implemented in analog form. As a practical matter, DNP control actually goes one step further and monitors only one of the actual device motions, usually the device position, and uses this motion signal to digitally create the other actual motion signals. A brush-type DC servo control system utilizing the recent advancement of DNP control is shown in FIG. 2 with everything to the left of line D being performed with a microprocessor.
The benefits and advantages of DNP control are explained in the related co-pending U.S. patent application Ser. No. 523,061 filed Aug. 15, 1983 entitled "SAMPLED DATA SERVO CONTROL SYSTEM WITH DEADBAND COMPENSATION". Until now DNP control could only be utilized to control brush-type DC motors. The present invention consists of the improvement which enables DNP control to be utilized with brushless synchronous and non-synchronous motors. Accordingly, the entire invention described and claimed in the co-pending application mentioned above (Ser. No. 523,061) is incorporated herein by reference and made a part of this application.
A typical prior art brushless servo control system is shown in FIG. 3. This system differs from the brush-type system shown in FIG. 1 by the necessary addition of a separate control loop for controlling the field orientation and thus the torque of a brushless motor.
In a brush-type DC motor, the application of DC current to the stator windings produces the necessary torque in the motor. In a brushless motor, however, the torque produced in the motor is not only a function of the current applied to the stator windings, but is also a function of the motor state (i.e., the position of the rotor with respect to the stator windings). Proper control of a brushless motor requires not only monitoring and controlling the current applied to the stator windings, but also monitoring and controlling the motor state.
The torque produced in a brushless motor is equal to the vector cross product of the stator magnetic flux vector ("stator magnetic field") and the rotor magnetic flux vector ("rotor magnetic field"). The maximum torque is produced when the rotor magnetic field is 90.degree. out of phase with the stator magnetic field as shown in FIG. 4. When the stator magnetic field leads the rotor magnetic field, a positive torque is produced and when the stator magnetic field lags behind the rotor magnetic field, a negative torque is produced.
The rotor magnetic field is stationary with respect to the rotor but it is not stationary with respect to the stator. Thus, to produce a continuous positive torque, the stator magnetic field must rotate in order to be kept a predetermined angular distance ahead of the rotating rotor magnetic field. To rotate the stator magnetic field in the desired manner, the current in the stator windings is varied in exactly the right manner through the use of the added feedback loop.
In a three-phase brushless AC motor, individual stator winding magnetic fields are produced by currents in the three stator windings (Phase A, B and C) which are 120.degree. apart. The resultant stator magnetic field is the vector sum of the individual stator winding magnetic fields as shown in FIG. 5. The servo control system applies these three stator currents such that the resultant stator magnetic field leads or lags the rotor magnetic field by the proper amount to produce the desired torque in the motor.
Typical prior art implementations of a brushless servo controller use a separate transducer to measure the position of the device. If the device is a motor, usually the position of the rotor shaft is measured. Once the position of the rotor shaft is known and thus the rotor magnetic field, the stator magnetic field is placed either leading or lagging it, depending on the sign of the torque command.
From an economic point of view, it is well-known that brushless AC devices and motors are substantially lower in cost than their equivalent brush-type DC counterparts. When a microprocessor based digital control system is used to control an AC brushless motor, additional problems are created. Not only does one have the problems inherent in a micoprocessor controlled system but one has the additional feedback loop with which to contend. The micropocessor must also be able to monitor and control the stator currents to produce the desired torque and response in the motor.
Similarly, there is the problem of the initial alignment of the rotor field and the field of the rotor position transducer. The position of the rotor field must be known to determine the location of the desired stator field so that the appropriate stator winding currents can be applied.
In a permanent magnet brushless motor, the rotor field is fixed with respect to the rotor position transducer. Therefore, knowing the position of the rotor implies knowing the position of the rotor field as long as the relationship between the rotor field and the rotor position transducer is known. A common method of handling this situation is to always align the rotor measuring device (i.e., the rotor position transducer) with the rotor field and therefore most brushless controllers assume that all motors are set up in this manner.
A problem can arise if a motor must be replaced with one which is not aligned with the rotor measuring device or if the motor cannot be set up as desired due to some other constraint. In these instances a typical brushless controller could not be used.
Another problem in brushless motor controllers involves the technique of dynamic phase advance. In a typical brushless motor, the torque vs. speed characteristic is similar to that shown in FIG. 6. A control system must first overcome the motor's back voltage before it can produce torque to accelerate the motor to a higher speed. The amount of system voltage available above the back voltage of the motor indicates the torque available to accelerate the motor. However, the motor's back voltage increases with motor speed until at point B, the system voltage is equal to the back voltage produced by the motor. When this point is reached, the motor will not go any faster without a reduction in torque.
There exists a technique called phase advance for achieving a higher speed than the speed at point B. The price for increased speed is lower than maximum torque as indicated in FIG. 7. This technique is a powerful and useful one because often at higher speeds, a lower torque is acceptable.
The phase advance technique involves reducing the back voltage of the motor to give the system voltage some margin to produce the additional torque necessary to accelerate the motor. This is achieved by weakening the rotor magnetic field.
The back voltage of the motor is related to the rotor field strength and the currents in the stator windings. By reducing the magnitude of the rotor field, the back voltage of the motor can be reduced. However, reducing the rotor field strength also reduces the motor torque. Assuming that after weakening the rotor field, there exists enough torque to accelerate the motor, the technique of rotor field weakening is viable.
The technique for implementing rotor field weakening involves changing the optimal 90.degree. phase angle in FIG. 4. As shown in FIG. 8, if the phase angle is increased to something greater than 90.degree., there will be a component of the stator field vector along the y-axis which will subtract from the rotor field vector. The resultant weakened rotor field vector is depicted as R' and will produce less back voltage for a given system voltage enabling the motor to be accelerated to a higher speed. This technique of phase advancing can allow motor speeds in excess of twice that attainable without it and can even have the effect of compensating for system time lags and amplifier time lags.
In a typical brushless motor, the phase advance technique is usually a fixed function implemented by hardware. However, optimal phase advance varies depending on the brushless motor used, the loading conditions and the system voltage. Fixing the phase advance in hardware has many limitations, one of which is being unable to respond to the variations mentioned above.
Finally, a sampling problem exists with many brushless motor control system which are digital in nature. These systems rely on sampling to measure the rotor position and adjust the stator currents to produce the desired stator magnetic field. At high rotor velocities, the sampling of the rotor position may not occur often enough to yield the proper stator current. This places an upper limit on how fast the motor can go and still be controlled since at some speed the sampling technique is too slow for proper control and operation. Even at speeds below this limit, sampling can introduce other errors into the system. For instance, the stator field is fixed at each sampling cycle in the proper orientation to the rotor field for the desired torque. The rotor field, however, will move over the sampling cycle while the stator field remains constant. This effectively changes the proper torque angle.
Accordingly, there exists a need for a high response, inexpensive, accurate and precise microprocessor-implemented servo control system, capable of controlling a synchronous or a nonsynchronous brushless motor.